
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>async函数</title>
</head>
<body>
    
    Async/await是一种编写异步代码的新方法。它是建立在promises之上的，所以也是非阻塞。最大的差别在于异步代码看起来更靠近同步代码
    <!-- 
        1)、被async修饰过的函数调用完成后返回的是Promise对象 ；
            1.如果没有返回任何结果，结果是一个成功的promise对象,值是undefined
            2.返回非promise对象类型数据 结果是一个成功的promise对象
    ​		 3.抛出异常 结果是一个失败的promise对象
    ​		 4.返回一个新的promise对象，promise对象返回的结果就是最终的结果
        2)、async可以单独使用；
     -->

     <script>

        let flag = false
        // 异步函数
        async function show() {
            if (flag) {
                return true
            } else {
                return false
            }
        }

        // console.log(show());
        show().then(res=>{
            console.log(res);
            
        })

        async function request() {
            // return 123;
            // throw new Error("报错了")
            return new Promise((resolve,reject)=>{
                resolve("成功了")
            })
        }

        let res = request()
        res.then(res=>{
            console.log(res); 
        }).catch(err=>{
            console.log(err);
            
        })
        
     </script>

</body>
</html>